﻿namespace SBlogCore.Entitys.SystemManager
{
    public class SysOpenJob: CreateEntity
    {
        public SysOpenJob()
        {
            JobCall = string.Empty;
            JobCallParams = string.Empty;
            Cron = string.Empty;
            JobName = string.Empty;
            JobId = string.Empty;
            RunCount = 0;
            ErrorCount = 0;
            JobCallParams = string.Empty;
        }

        [Comment("ID")]
        public string JobId { get; set; }
        /// <summary>
        /// 任务名称
        /// </summary>
        [Comment("任务名称")]
        public string JobName { get; set; }
        /// <summary>
        /// 任务执行次数
        /// </summary>
        [Comment("任务执行次数")]
        public int RunCount { get; set; }
        /// <summary>
        /// 异常次数
        /// </summary>
        [Comment("异常次数")]
        public int ErrorCount { get; set; }
        /// <summary>
        /// 下次执行时间
        /// </summary>
        [Comment("下次执行时间")]
        public DateTime? NextRunTime { get; set; }
        /// <summary>
        /// 最后一次执行时间
        /// </summary>
        [Comment("最后一次执行时间")]
        public DateTime? LastRunTime { get; set; }
        /// <summary>
        /// 最后一次失败时间
        /// </summary>
        [Comment("最后一次失败时间")]
        public DateTime? LastErrorTime { get; set; }
        /// <summary>
        /// 任务执行方式0：本地任务；1：外部接口任务
        /// </summary>
        [Comment("任务执行方式0：本地任务；1：外部接口任务")]
        public int JobType { get; set; }
        /// <summary>
        /// 任务地址
        /// </summary>
        [Comment("任务地址")]
        public string JobCall { get; set; }
        /// <summary>
        /// 任务参数，JSON格式
        /// </summary>
        [Comment("任务参数，JSON格式")]
        public string JobCallParams { get; set; }
        /// <summary>
        /// CRON表达式
        /// </summary>
        [Comment("CRON表达式")]
        public string Cron { get; set; }
        /// <summary>
        /// 任务运行状态（0：停止，1：正在运行，2：暂停）
        /// </summary>
        [Comment("任务运行状态（0：停止，1：正在运行，2：暂停）")]
        public int Status { get; set; }
    }
}
